import request from '@/utils/request'
import config from '@/config/config.js'

const { apiPrefix } = config

// 获取验证码
export function getCodeImg() {
	return request({
		url: `${apiPrefix}/captchaImage`,
		method: 'get',
		header: {
			isToken: false
		}
	})
}

// 用户登录
export function login(data) {
	return request({
		url: `${apiPrefix}/login`,
		method: 'post',
		data,
		header: {
			'Content-Type': 'application/json',
			'isToken': false
		}
	})
}

// 用户注册
export function register(data) {
	return request({
		url: `${apiPrefix}/register`,
		method: 'post',
		data,
		header: {
			'Content-Type': 'application/json',
			'isToken': false
		}
	})
}

// 获取用户信息
export function getUserInfo() {
	return request({
		url: `${apiPrefix}/getInfo`,
		method: 'get'
	})
}

// 更新用户信息
export function updateUserInfo(data) {
	return request({
		url: `${apiPrefix}/system/user/profile`,
		method: 'put',
		data
	})
}

// 修改密码
export function changePassword(data) {
	return request({
		url: `${apiPrefix}/system/user/profile/updatePwd`,
		method: 'put',
		data
	})
}

// 上传头像
export function uploadAvatar(data) {
	return request({
		url: `${apiPrefix}/common/upload`,
		method: 'post',
		data
	})
}

// 更新用户头像
export function updateAvatar(avatarUrl) {
	return request({
		url: `${apiPrefix}/system/user/profile/avatar`,
		method: 'put',
		data: {
			avatar: avatarUrl
		}
	})
}

// 退出登录
export function logout() {
	return request({
		url: `${apiPrefix}/logout`,
		method: 'post'
	})
}

// 更新用户信息（使用 SysUserController.edit）
export function updateUser(data) {
	return request({
		url: `${apiPrefix}/system/user`,
		method: 'put',
		data
	})
}

// 更新用户信息
export function updateUserProfile(data) {
	return request({
		url: `${apiPrefix}/system/user/profile`,
		method: 'put',
		data
	})
}

// 切换任务点赞状态
export function toggleLike(taskId) {
	return request({
		url: `${apiPrefix}/system/task/like/toggle/${taskId}`,
		method: 'post'
	})
}

// 检查任务点赞状态
export function checkLikeStatus(taskId) {
	return request({
		url: `${apiPrefix}/system/task/like/check/${taskId}`,
		method: 'get'
	})
}

// 切换任务收藏状态
export function toggleStar(taskId) {
	return request({
		url: `${apiPrefix}/system/task/star/toggle/${taskId}`,
		method: 'post'
	})
}

// 检查任务收藏状态
export function checkStarStatus(taskId) {
	return request({
		url: `${apiPrefix}/system/task/star/check/${taskId}`,
		method: 'get'
	})
}

// 关注/取消关注用户
export function toggleFollow(userId) {
	return request({
		url: `${apiPrefix}/system/user/follow/${userId}`,
		method: 'post'
	})
} 